//
// operators.cpp
// libprotea
// Tools Library for the Protea Project / Overloaded operators for Fields
// Copyright (C) 2003, 2004, 2005 eXegeSys, Inc.
// Copyright (C) 2008 Bruce A. James
//
// This program is part of the Protea Project.
//
// The Protea Project is free software; you can redistribute it and/or modify it 
// under the terms of the GNU General Public License as published by the 
// Free Software Foundation, either version 3 of the License, or (at your 
// option) any later version.
//
// The Protea Project is distributed in the hope that it will be useful, but 
// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 
// for more details.
// 
// You should have received a copy of the GNU General Public License along 
// with this program.  If not, see <http://www.gnu.org/licenses/>.
// 
// Please send correspondence to:
// 
// theproteaproject@gmail.com
//

#include "../defines.h"
#include "fields.h"

bool XCField::operator==(const XCField& field) const {
	return CompareField( &field ) == 0;
};

bool XCField::operator==(const long value) const {
	if (value == 0)
		return CompareZero() == 0;
	else
		return Compare( value ) == 0;
};



bool XCField::operator!=(const XCField& field) const {
	return CompareField( &field ) != 0;
};

bool XCField::operator!=(const long value) const {
	if (value == 0)
		return CompareZero() != 0;
	else
		return Compare( value ) != 0;
};



bool XCField::operator<(const XCField& field) const {
	return CompareField( &field ) < 0;
};

bool XCField::operator<(const long value) const {
	if (value == 0)
		return CompareZero() < 0;
	else
		return Compare( value ) < 0;
};



bool XCField::operator<=(const XCField& field) const {
	return CompareField( &field ) <= 0;
};

bool XCField::operator<=(const long value) const {
	if (value == 0)
		return CompareZero() <= 0;
	else
		return Compare( value ) <= 0;
};




bool XCField::operator>(const XCField& field) const {
	return CompareField( &field ) > 0;
};

bool XCField::operator>(const long value) const {
	if (value == 0)
		return CompareZero() > 0;
	else
		return Compare( value ) > 0;
};



bool XCField::operator>=(const XCField& field) const {
	return CompareField( &field ) >= 0;
};

bool XCField::operator>=(const long value) const {
	if (value == 0)
		return CompareZero() >= 0;
	else
		return Compare( value ) >= 0;
};
